package org.bt4girls.common.utils;

import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

public class RandomUtils {
    //随机字符串码表
    private static final char[] RANDOM_STR_MAP = {
            'a', 'b', 'c', 'd', 'e', 'f', 'g',
            'h', 'i', 'j', 'k', 'l', 'm', 'n',
            'o', 'p', 'q', 'r', 's', 't',
            'u', 'v', 'w', 's', 'y', 'z',
            '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'};

    /**
     * 生成随机字符串
     * 使用ThreadLocalRandom，也可以使用apache-common来生成
     * @param length 生成的字符串长度
     * @return
     */
    public static String generateRandomString(int length) {
        char[] arr = new char[length];
        for (int i = 0; i < length; i++) {
            //用的是 ThreadLocalRandom 效率更高一点的Random
            arr[i] = RANDOM_STR_MAP[ThreadLocalRandom.current().nextInt(RANDOM_STR_MAP.length)];
        }
        return String.valueOf(arr);
    }
}
